/**
 * 
 */
package de.cbf.cam.dsa.dataprovider.items;

import java.util.ArrayList;
import java.util.List;

import de.cbf.cam.dsa.model.entities.OneEnergy;
import de.cbf.cam.dsa.model.entities.constants.WearPlaces;
import de.cbf.cam.dsa.model.entities.items.Container;
import de.cbf.cam.dsa.model.entities.items.Elixir;
import de.cbf.cam.dsa.model.entities.items.Item;
import de.cbf.cam.dsa.model.entities.states.stateChanger.StateChangerEnergy;
import de.cbf.cam.dsa.model.interfaces.IDataProviderItem;

/**
 * @author Nebelritter
 *
 */
public class DataProviderItem implements IDataProviderItem {

	private final String name = "ItemProvider";
	/**
	 * 
	 */
	public DataProviderItem() {		
	}

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.interfaces.IDataProviderItem#getName()
	 */
	@Override
	public String getName() {
		return name;
	}

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.interfaces.IDataProviderItem#provideItems()
	 */
	@Override
	public List<Item> provideItems() {
		List<Item> resultList = new ArrayList<Item>();
		resultList.add(provideItemHeiltrank());
		resultList.add(provideContainerRucksack());
		resultList.add(provideContainerSchwertgurt());
		return resultList;
	}

	private Item provideItemHeiltrank(){
		Elixir item = new Elixir("Heiltrank",WearPlaces.Belt);
		StateChangerEnergy stateChangerEnergy = new StateChangerEnergy(OneEnergy.LE,10);
		item.addStateChanger(stateChangerEnergy);
		return item;
	}
	
	private Container provideContainerRucksack(){
		Container item = new Container(WearPlaces.Back);	
		item.setName("Rucksack");
		return item;
	}
	private Container provideContainerSchwertgurt(){
		Container item = new Container(WearPlaces.Belt);	
		item.setName("Schwertgurt");
		return item;
	}
	
}
